package com.thb.pay.mchant.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.thb.pay.db.entity.SuperEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 商户-信息表
 * </p>
 *
 * @author lucky
 * @since 2019-07-21
 */
@Data
@Accessors(chain = true)
@TableName("mch_info")
public class MchInfo extends SuperEntity<MchInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 名称
     */
    private String name;

    /**
     * 用户登录名
     */
    private String userName;

    /**
     * 用户真实姓名
     */
    private String realName;

    /**
     * 类型:1-平台账户,2-私有账户
     */
    private Integer type;

    /**
     * 代理商ID
     */
    private Long agentId;

    /**
     * 一级代理商ID
     */
    private Long parentAgentId;

    /**
     * 手机号
     */
    private Long mobile;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * QQ号码
     */
    private String qq;

    /**
     * 网站名称
     */
    private String siteName;

    /**
     * 网站地址
     */
    private String siteUrl;

    /**
     * 密码
     */
    private String password;

    /**
     * 支付密码
     */
    private String payPassword;

    /**
     * 角色
     */
    private String role;

    /**
     * 商户费率,百分比
     */
    private BigDecimal mchRate;

    /**
     * 私钥
     */
    private String privateKey;

    /**
     * 通讯地址
     */
    private String address;

    /**
     * 账户属性:0-对私,1-对公,默认对私
     */
    private Integer accountAttr;

    /**
     * 账户类型:1-银行卡转账,2-微信转账,3-支付宝转账
     */
    private Integer accountType;

    /**
     * 开户行名称
     */
    private String bankName;

    /**
     * 开户网点名称
     */
    private String bankNetName;

    /**
     * 账户名
     */
    private String accountName;

    /**
     * 账户号
     */
    private String accountNo;

    /**
     * 开户行所在省
     */
    private String province;

    /**
     * 开户行所在市
     */
    private String city;

    /**
     * 结算配置模式,1-继承系统,2-自定义
     */
    private Integer settConfigMode;

    /**
     * 提现开关:0-关闭,1-开启
     */
    private Integer drawFlag;

    /**
     * 每周周几允许提现,数字表示,多个逗号分隔
     */
    private String allowDrawWeekDay;

    /**
     * 每天提现开始时间
     */
    private String drawDayStartTime;

    /**
     * 每天提现结束时间
     */
    private String drawDayEndTime;

    /**
     * 每天提现最大金额,单位分
     */
    private Long drawMaxDayAmount;

    /**
     * 手续费类型,1-百分比收费,2-固定收费
     */
    private Integer feeType;

    /**
     * 手续费百分比值
     */
    private BigDecimal feeRate;

    /**
     * 手续费等级值,使用json存储每一等级信息
     */
    private String feeLevel;

    /**
     * 每笔提现手续费上限,单位分
     */
    private Long drawFeeLimit;

    /**
     * 风险预存期
     */
    private Integer riskDay;

    /**
     * 最大提现金额,单位分
     */
    private Long maxDrawAmount;

    /**
     * 最小提现金额,单位分
     */
    private Long minDrawAmount;

    /**
     * 每日提现次数
     */
    private Integer dayDrawTimes;

    /**
     * 结算类型,0-手动提现,1-自动结算
     */
    private Integer settType;

    /**
     * 结算方式,1-D0到账,2-D1到账,3-T0到账,4-T1到账
     */
    private Integer settMode;

    /**
     * 商户状态,-1-待审核,0-停止使用,1-使用中
     */
    private Integer status;

    /**
     * 登录安全类型,1-仅登录密码验证,2-登录密码+谷歌组合验证
     */
    private Integer loginSecurityType;

    /**
     * 支付安全类型,0-无需验证,1-仅支付密码验证,2-仅谷歌验证,3-支付密码+谷歌组合验证
     */
    private Integer paySecurityType;

    /**
     * 绑定谷歌验证状态,0-未绑定,1-已绑定
     */
    private Integer googleAuthStatus;

    /**
     * 谷歌验证密钥
     */
    private String googleAuthSecretKey;

    /**
     * 备注
     */
    private String remark;

    /**
     * 标记
     */
    private String tag;

    /**
     * 最后一次登录IP
     */
    private String lastLoginIp;

    /**
     * 最后一次登录时间
     */
    private Date lastLoginTime;

    /**
     * 最后一次重置密码时间
     */
    private Date lastPasswordResetTime;

    /**
     * 登录白名单,半角逗号分隔
     */
    private String loginWhiteIp;

    /**
     * 登录黑名单,半角逗号分隔
     */
    private String loginBlackIp;

    /**
     * 支付白名单,半角逗号分隔
     */
    private String payWhiteIp;

    /**
     * 支付黑名单,半角逗号分隔
     */
    private String payBlackIp;

    /**
     * 代付白名单,半角逗号分隔
     */
    private String agentpayWhiteIp;

    /**
     * 代付黑名单,半角逗号分隔
     */
    private String agentpayBlackIp;

    /**
     * 线下充值费率,百分比
     */
    private BigDecimal offRechargeRate;


}
